package cn.deschen.biz.service;

import cn.deschen.biz.domain.entity.AdUnitEle;
import cn.deschen.biz.dto.unit.UnitEleDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author deschen
 * @since 2021-06-21
 */
public interface AdUnitEleService extends IService<AdUnitEle> {

    /**
     * 批量插入与推广单元相关的元素及关系
     * @param unitId
     * @param eleMap
     */
    void saveBatch(Long unitId, Map<String, Set<UnitEleDTO>> eleMap);

    void updateBatch(Long unitId, Map<String, Set<UnitEleDTO>> eleMap);

    /**
     * 根据推广单元ID获取对应元素
     * @param unitId
     * @return
     */
    Map<String, List<UnitEleDTO>> getElesById(Long unitId);

    /**
     * 批量删除推广单元相关元素
     * @param unitIds
     */
    void removeBatchByUnitIds(List<Long> unitIds);
}
